package com.hejing.包装类;

import org.junit.Test;

/**
 * ClassName: WrapperTest
 * Package: com.hejing.包装类
 * Description:
 *      包装类测试:
 * @Author: HeJing
 * @Create: 2023-04-04 19:19
 * @Version: 1.0
 */
public class WrapperTest {

    /**
     * 基本数据类型--> 包装类:
     *      (1)使用包装类的构造器
     *      (2)建议使用包装类的 valueof(xx)方法
     */
    @Test
    public void test01(){
        int i1 = 10;
        Integer ii1 = new Integer(i1);
        System.out.println(ii1.toString());

        // 推荐使用:
        int i2 = 10;
        boolean b = true;
        double d = 3.14;
        Integer ii2 = Integer.valueOf(i2);
        Boolean b2 = Boolean.valueOf(b);
        Double d2 = Double.valueOf(d);

    }

    /**
     * 包装类--> 基本数据类型:
     *      调用包装类的xxxValue()方法返回一个基本数据类型变量。
     */
    @Test
    public void test02(){
        Integer ii1 = new Integer(10);
        int i1 = ii1.intValue();

        Double dd1 = new Double(3.14);
        double d1 = dd1.doubleValue();

        Boolean bb1 = new Boolean(true);
        boolean b1 = bb1.booleanValue();

    }
    
    @Test
    public void test03(){
        // 自动装箱: 基本数据类型 --> 包装类
        int i1 = 10;
        Integer ii1 = i1;
        Integer ii2 = i1 + 1;
        Boolean bb1 = false;
        Double dd1 = 13.2322;

        // 自动拆箱: 包装类 --> 基本数据类型
        int i2 = ii1;
        double d2 = dd1;

    }
}












